1 REM ***** BY: D.M. ARNEL ***** 3 REM * * 5 REM * DRAW POKER * 7 REM * * 9 REM ***** MAY 02, 1985 ***** 10 : 100 PRINT"[147]":POKE53280,3:POKE53281,3:X=8 110 PRINTSPC(X);"[176][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][192][192][174]" 120 PRINTSPC(X);"[221][144]10[193][221][144]J[193] [221][144]Q[193] [221][144]K[193] [221][144]A[193] [221]" 130 PRINTSPC(X);"[221] [221] [221] [221] [221] [221]" 140 PRINTSPC(X);"[221] [221] [221] [221] [221] [221]" 200 PRINT"[144][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]" 210 PRINT"[145] 5 CARD DRAW POKER " 220 PRINT"[145][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]" 230 PRINTSPC(6);"VERSION 1.0 MAY 02, 1985":PRINT 240 PRINTSPC(13);"BY: D.M. ARNEL" 250 PRINT:PRINT:PRINTSPC(4);"[149]WELCOME TO THE TABLE STRANGER!":PRINT 260 INPUT"WHAT'S YOUR NAME";NA$:IFNA$=""THENPRINT"[147]":END 270 NA$=LEFT$(NA$,6) 280 PRINT:PRINTSPC((40-(18+LEN(NA$)))/2);"[144]LETS PLAY POKER ";NA$;"!!" 500 GOTO40000 1000 CD=INT(RND(1)*52)+1:IFCD(CD)>0THEN1000 1010 CD(CD)=1:RETURN 1100 CD$=" []":IFSC=1ORPU=1THENCD$=CD$(PC(PU,CN)) 1110 PRINTVT$(CN+9);SPC(7+((PU-1)*7));CD$:RETURN 1150 PRINTVT$(CN+9);SPC(7+((PU-1)*7));" ":RETURN 1200 Z=0:A$="$"+A$:FORB=1TOLEN(A$):IFMID$(A$,B,1)="."THENZ=B 1210 NEXT:IFZ>0THENA$=LEFT$(A$+"00",Z+2):RETURN 1220 A$=A$+".00":RETURN 1300 FORB=20TO24:PRINTVT$(B);SP$:NEXT:RETURN 1350 PRINTVT$(19);SP$:RETURN 1400 A$=MID$(STR$(PT),2):GOSUB1200:PRINTVT$(5);SPC(17);"[149]";A$:RETURN 1500 FORB=1TO5:X$=MID$(CD$(PC(PU,B)),2,2):CN(B)=VAL(X$) 1510 IFX$=" A"THENCN(B)=1 1520 IFX$=" K"THENCN(B)=13 1530 IFX$=" Q"THENCN(B)=12 1540 IFX$=" J"THENCN(B)=11 1550 NEXT:RETURN 1600 FORB=1TO5:PRINTVT$(8);SPC(6+((B-1)*7)); 1605 IFB=PUANDPS(PU)<>0THEN1620 1610 PRINT""; 1620 PRINT"";:IFB=1THENPRINTNA$;LEFT$(SP$,6-LEN(NA$)):GOTO1640 1630 PRINT"PLYR-"+MID$(STR$(B),2) 1640 NEXT 1650 FORB=1TO2:PRINTVT$(B+15);SPC(6+((PU-1)*7));" ":NEXT:RETURN 1700 A1$=A$:A2$="":FORB=1TOLEN(A$) 1710 IFMID$(A$,B,1)=","THENA1$=LEFT$(A$,B-1):A2$=RIGHT$(A$,LEN(A$)-B) 1720 NEXT:PRINTVT$(16);"[144]";SPC(6+((PU-1)*7));SPC((6-LEN(A1$))/2);A1$ 1740 PRINTVT$(17);SPC(6+((PU-1)*7));SPC((6-LEN(A2$))/2);A2$ 1750 IFA1$<>"CALL"ANDA1$<>"RAISE"ANDA1$<>"OPEN"THEN1765 1760 PT=PT+BT:PB(PU)=PB(PU)+BT:IFPU=1THENPP=PP-BT:PP=FNR(PP) 1765 IFA1$="RAISE"THENTB=TB+AR:RS=RS+1:LB=PU 1770 IFA1$="OPEN"THENTB=TB+BT:LB=PU 1775 IFA1$="FOLD"THENPS(PU)=0 1780 GOSUB1400:RETURN 1800 Z=0:FORB=2TO5:IFPS(B)=0THENZ=Z+1 1810 NEXT:RETURN 1900 A$=MID$(STR$(PP),2):GOSUB1200 1910 PRINTVT$(21);"YOU HAVE ";A$;" ";NA$;".":BT$="":POKE198,0:RETURN 2000 GOSUB1500 2010 FORD=1TO5:FORDD=1TO5:IFCN(D)DDTHENZ=Z+1:P1=CN(D) 2060 NEXT:IFZ>0THEND=5 2070 NEXT:IFZ=0THEN2170 2080 IFZ=3THENPS=3:GOTO2250 2090 IFZ=2THENPS=7 2100 IFZ=1THENPS=9 2110 FORD=1TO5:Z=0:FORDD=1TO5 2120 IFCN(D)=CN(DD)ANDD<>DDANDCN(D)<>P1THENZ=Z+1:P2=CN(D) 2130 NEXT:IFZ>0THEND=5 2140 NEXT:IFZ=0THEN2170 2145 IFZ=2THENXX=P1:P1=P2:P2=XX:PS=4:GOTO2170 2150 IFZ=1ANDPS=7THENPS=4:GOTO2170 2160 IFZ=1THENPS=8 2170 Z=0:FORB=2TO4:IFCN(B)+1=CN(B+1)THENZ=Z+1 2180 NEXT:IFZ=3ANDCN(1)+1=CN(2)THENPS=6 2190 IFZ=3THENIFCN(1)=1ANDCN(5)=13THENPS=6 2200 Z=0:FORB=1TO4 2210 IFRIGHT$(CD$(PC(PU,B)),1)=RIGHT$(CD$(PC(PU,B+1)),1)THENZ=Z+1 2220 NEXT:IFZ<>4THEN2250 2225 IFPS=6ANDHC=1THENPS=1:GOTO2250 2230 IFPS=6THENPS=2:GOTO2250 2240 PS=5 2250 IFPS=4THEN2260 2255 IFP1<>0ANDP2<>0THENIF(P1<>1ANDP2>P1)OR(P2=1ANDP1<>1)THENX=P1:P1=P2:P2=X 2260 PS(PU)=PS:HC(PU)=HC:P1(PU)=P1:P2(PU)=P2 2270 FORB=1TO5:CO(PU,B)=CN(B):NEXT:RETURN 10000 PRINT"[147][144][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]" 10010 PRINT"[145] $$$ FIVE CARD DRAW POKER $$$ " 10020 PRINT"[145][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]" 10022 PRINTSPC(11);"[145][151][213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]":PRINTSPC(11);"[221] [144]POT[149] $0.00[151] [221]" 10024 PRINTSPC(11);"[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]" 10030 PRINT"[149][162][162][162][162][162] [162][162][162][162][162][162] [162][162][162][162][162][162] [162][162][162][162][162][162] [162][162][162][162][162][162] [162][162][162][162][162][162]" 10040 PRINT"[145][149]CRD #[146] ";NA$;LEFT$(" ",6-LEN(NA$));"[146] PLYR-2[146] "; 10050 PRINT"PLYR-3[146] PLYR-4[146] PLYR-5" 10060 PRINT"[145][149][162][162][162][162][162][146] [162][162][162][162][162][162][146] [162][162][162][162][162][162][146] [162][162][162][162][162][162][146] [162][162][162][162][162][162][146] [162][162][162][162][162][162][146]" 10070 GOSUB1300:PRINTVT$(21);SPC(9);"SHUFFLING THE CARDS ..." 10075 FORC=1TO52:CD(C)=0:NEXT 10080 PRINTVT$(23);SPC(15);"[144]DEALING ...":SC=0 10085 FORCN=1TO5:FORPU=1TO5:PRINTVT$(9+CN);" [149]";CN 10090 GOSUB1000:PC(PU,CN)=CD:GOSUB1100:NEXT:NEXT 10100 PT=0:GOSUB1300:PRINTVT$(24);SPC(9);"EVERYONE ANTES [149]$5.00" 10110 FORPU=1TO5:PS(PU)=10:GOSUB1600:PT=PT+5:GOSUB1400:GOSUB2000:PB(PU)=0:NEXT 10120 PP=PP-5:PP=FNR(PP):RS=0:TB=0:BT=0:RO=1 10130 PU=PO:PO=PO+1:IFPO>5THENPO=1 10140 PU=PU+1:IFPU>5THENPU=1 10150 GOSUB1600:PS=PS(PU):IFPU>1THEN10230 10160 GOSUB1300:PRINTVT$(24);"[144]PRESS  RETURN [146] TO PASS,  F [146] TO FOLD." 10170 GOSUB1900 10175 INPUT"HOW MUCH DO YOU OPEN FOR [157][157][157][157][157][157][157][157][157][157][157]";BT$:BT=VAL(BT$) 10180 GOSUB1350:IFLEFT$(BT$,1)="F"THENA$="FOLD":GOSUB1700:GOTO10140 10190 IFBT<=PPTHEN10200 10195 PRINTVT$(19);"[149]C'MON ";NA$;", YOU DON'T HAVE THAT MUCH!":GOTO10170 10200 IFBT<=0THENA$="PASS":GOSUB1700:GOTO10140 10205 IFBT>99THENPRINTVT$(19);"[149]THE BETTING LIMIT IS $99!":GOTO10170 10210 IFBT<1THENPRINTVT$(19);"[149]YOU HAVE TO OPEN FOR AT LEAST $1.00!":GOTO10170 10220 GOTO10270 10230 IFPU=5ANDBT=0THENBT=3:GOTO10270 10240 X=100:X=FNP(X):IFX>25THEN10250 10245 A$="PASS":GOSUB1700:GOTO10140 10250 X=10:X=FNP(X):IFX>8THENX=PP:X=FNP(X):IFX>99THENX=99:X=FNP(X) 10260 BT=X-INT(INT((((PS*10-5)/100)*X)*100+.5)/100):IFBT<1THEN10245 10270 A$=MID$(STR$(BT),2):GOSUB1200:A$="OPEN,"+A$:GOSUB1700 10300 PU=PU+1:IFPU>5THENPU=1 10310 IFLB=PUTHENONROGOTO10700,11000 10320 IFPS(PU)=0THEN10300 10330 GOSUB1600:GOSUB2000:BD=TB-PB(PU):BD=FNR(BD) 10340 IFPU>1THEN10500 10350 IFBD>PPTHENBT$="FOLD":GOTO10410 10360 GOSUB1800:IFZ=4THEN10300 10370 GOSUB1300:PRINTVT$(24);"[144]PRESS  RETURN [146] TO CALL,  F [146] TO FOLD." 10380 GOSUB1900:IFBD=0THENPRINT"HOW MUCH DO YOU WANT TO BET";:GOTO10400 10390 A$=MID$(STR$(BD),2):GOSUB1200:AA$=A$:GOSUB1900 10395 PRINT"IT WILL COST YOU ";AA$;" TO STAY IN"; 10400 INPUT" [157][157][157][157][157][157][157]";BT$:BT=VAL(BT$):GOSUB1350 10410 IFLEFT$(BT$,1)="F"THENA$="FOLD":GOSUB1700:GOTO10300 10420 IFBT$=""ORBT=BDTHENBT=BD:A$="CALL":GOSUB1700:GOTO10300 10422 IFBT<1THENPRINTVT$(19);"[149]YOU HAVE TO BET AT LEAST $1.00!":GOTO10380 10425 IFBT<100THEN10440 10430 PRINTVT$(19);"[149]GOOD HAND OR NOT, THE LIMIT IS $99.00!":GOTO10380 10440 IFBT<=PPTHEN10460 10450 PRINTVT$(19);"[149]YOU CAN'T BET IT IF YOU DON'T HAVE IT!":GOTO10380 10460 IFBT>BDTHEN10480 10470 PRINTVT$(19);"[149]CHEATERS DIE AT THIS TABLE!!!":GOTO10380 10480 AR=BT-BD:AR=FNR(AR):A$=MID$(STR$(AR),2):GOSUB1200 10490 A$="RAISE,"+A$:GOSUB1700:GOTO10300 10500 X=100:X=FNP(X):Z=0:FORC=1TO10:IFC*51THEN10570 10540 IFX40THEN10560 10550 IFPS(PU)<10ORHC(PU)>10OR(X>40ANDX<60)THEN10580 10560 A$="FOLD":GOSUB1700:GOTO10300 10570 XX=0:ZX=PU 10571 ZX=ZX+1:IFZX>5THENZX=1 10572 IFZX=LBTHEN10576 10573 IFZX=1THEN10571 10574 IFPS(ZX)<>0THENXX=XX+1 10575 GOTO10571 10576 IFXX=0ANDBD=0THEN10600 10578 IFPS(PU)>8ANDP1(PU)<11ANDX8ANDX>90THEN10600 10585 IFPS(PU)<9ANDPS(PU)>2ANDX>30THEN10600 10590 IFPS(PU)<3ANDX>10THEN10600 10595 BT=BD:A$="CALL":GOSUB1700:GOTO10300 10600 IFRS+1>3THEN10595 10610 X=20:X=FNP(X):IFX>18ORX>PPTHENX=PP:X=FNP(X):IFX>99THENX=99:X=FNP(X) 10620 BT=BD+(X-INT(INT((((PS*10-5)/100)*X)*100+.5)/100)):IFBT<1ORBT=BDTHEN10595 10630 GOTO10480 10700 PU=PO:GOTO10735 10710 IFPS(PU)<>0THENA$="DREW "+MID$(STR$(NC),2)+",CARDS":GOSUB1700 10720 PU=PU+1:IFPU>5THENPU=1 10730 IFPU=POTHENLB=PU:RO=2:RS=0:BT=0:GOTO10320 10735 IFPS(PU)=0THEN10720 10740 GOSUB1600:IFPU>1THEN10850 10750 GOSUB1800:IFZ=4THEN10720 10760 GOSUB1300:PRINTVT$(22);:PRINT"HOW MANY CARDS DO YOU WANT ";NA$;" [157][157][157]"; 10765 POKE198,0:NC$="":INPUTNC$:NC=VAL(NC$):GOSUB1350 10770 AC=0:FORC=1TO5:IFMID$(CD$(PC(PU,C)),2,2)=" A"THENAC=C:C=5 10775 NEXT:X=3:IFAC>0THENX=4 10780 IFNC>4THENPRINTVT$(19);"[149]YOU CAN ONLY DRAW";X;"CARDS!":GOTO10760 10785 IFNC<4OR(NC=4ANDAC>0)THEN10800 10790 PRINTVT$(19);"[149]YOU CAN ONLY DRAW 4 IF YOU HAVE AN ACE!":GOTO10760 10800 IFNC=0THEN10710 10810 FORC=1TONC:IFC=1THENA$="FIRST":IFNC=1THENA$="WHICH" 10811 IFC=2THENA$="SECOND" 10812 IFC=3THENA$="THIRD" 10813 IFC=4THENA$="FORTH" 10815 PRINTVT$(24);"[149]";A$;" CARD NUMBER TO DISCARD [157][157][157][157][157][157]"; 10820 CN$="":INPUTCN$:CN=VAL(CN$):GOSUB1350 10822 IFCN=ACANDNC=4THENPRINTVT$(19);"[149]YOU CAN'T DISCARD THE ACE!":GOTO10815 10825 IFCN<1ORCN>5THEN10815 10830 DR(C)=CN:CD$=" ":GOSUB1150:NEXT 10840 FORC=1TONC:GOSUB1000:PC(PU,DR(C))=CD:CN=DR(C):GOSUB1100:NEXT:GOTO10710 10850 IFPS(PU)<3OR(PS(PU)=3AND(HC(PU)>10ORHC(PU)=1))THEN10710 10855 IFPS(PU)>3ANDPS(PU)<7THEN10710 10860 AC=0:FORC=1TO5:IFMID$(CD$(PC(PU,C)),2,2)=" A"THENAC=C:C=5 10870 NEXT:GOSUB1500:CN=0:NC=0 10875 CN=CN+1:IFCN>5THEN10895 10880 IFNC=3ANDAC=0THEN10875 10885 IFCN(CN)=P1(PU)ORCN(CN)=P2(PU)ORNC>4ORCN=ACTHEN10875 10890 NC=NC+1:DR(NC)=CN:GOTO10875 10895 X=INT(RND(1)*13)+1:IFCN(DR(NC))>1ANDX=CN(DR(NC))THENNC=NC-1 10896 IFNC=0THEN10710 10900 IFNC=4THENSC=1:CN=AC:GOSUB1100:SC=0 10903 FORC=1TONC:CN=DR(C):GOSUB1150:NEXT 10905 FORC=1TONC:CN=DR(C):GOSUB1000:PC(PU,DR(C))=CD:GOSUB1100:NEXT 10910 GOTO10710 11000 SC=1:FORCN=1TO5:FORPU=1TO5:IFPS(PU)<>0THENGOSUB1100 11010 NEXT:NEXT:WN=0:PU=0:TW=0 11020 PU=PU+1:IFPU>5THEN11200 11025 PS=PS(PU):HC=HC(PU):P1=P1(PU):P2=P2(PU) 11030 IFPS=0OR(PS>PS(WN)ANDPS(WN)<>0)THEN11020 11035 IFPS2ANDPS<>6THEN11050 11045 IFHC>HC(WN)OR(HC=1ANDHC(WN)>1)THENTW=1:WN=PU:GOTO11020 11050 IFPS<>4ANDPS<>8THEN11110 11060 IF(P1>P1(WN)ANDP1(WN)<>1)OR(P1=1ANDP1(WN)<>1)THENTW=1:WN=PU:GOTO11020 11065 IFP1<>P1(WN)THEN11020 11070 IF(P2>P2(WN)ANDP2(WN)<>1)OR(P2=1ANDP2(WN)<>1)THENTW=1:WN=PU:GOTO11020 11075 IFP2<>P2(WN)ORPS<>8THEN11020 11080 FORC=1TO5:C1=CO(WN,C):C2=CO(PU,C) 11085 IFC1<>P1(WN)ANDC1<>P2(WN)THENHC(WN)=C1 11090 IFC2<>P1ANDC2<>P2THENHC(PU)=C2:HC=C2 11095 NEXT 11100 IF(HC>HC(WN)ANDHC(WN)<>1)OR(HC=1ANDHC(WN)<>1)THENTW=2:WN=PU:GOTO11020 11110 IFPS<>3ANDPS<>5ANDPS<>7ANDPS<>9ANDPS<>10THEN11020 11120 IFPS=5ORPS=10THEN11140 11125 IF(P1>P1(WN)ANDP1(WN)<>1)OR(P1=1ANDP1(WN)<>1)THENTW=1:WN=PU:GOTO11020 11130 IFP1<>P1(WN)THEN11020 11140 C1=6:C2=6 11145 C1=C1-1:IFC1=0THEN11160 11150 IFCO(WN,C1)=P1(WN)THEN11145 11155 H1=CO(WN,C1) 11160 C2=C2-1:IFC2=0THEN11180 11165 IFCO(PU,C2)=P1(PU)THEN11160 11170 H2=CO(PU,C2) 11175 IFH2=H1THEN11145 11180 HC(WN)=H1:HC(PU)=H2 11190 IF(H2>H1ANDH1<>1)OR(H2=1ANDH1<>1)THENTW=2:WN=PU:GOTO11020 11195 GOTO11020 11200 PS=PS(WN):HC=HC(WN):P1=P1(WN):P2=P2(WN):H$="":H2$="":XX=1:IFHC=6THENXX=2 11202 PU=WN:GOSUB1600:A$="WINNER":GOSUB1700 11205 TC$=LEFT$(TC$(HC),LEN(TC$(HC))-XX) 11210 IFPS=1THENH$="A ROYAL FLUSH!!!" 11215 IFPS=2THENH$="A "+TC$+" HIGH STRAIGHT FLUSH!" 11220 IFPS=3THENH$="FOUR "+TC$(P1) 11225 IFPS=4THENH$="A FULL HOUSE OF "+TC$(P1)+" AND "+TC$(P2) 11230 IFPS=5THENH$="A FLUSH" 11235 IFPS=6THENH$="A "+TC$+" HIGH STRAIGHT" 11240 IFPS=7THENH$="THREE "+TC$(P1) 11245 IFPS=8THENH$="A PAIR OF "+TC$(P1)+" AND A PAIR OF "+TC$(P2) 11250 IFPS=9THENH$="A PAIR OF "+TC$(P1) 11255 IFPS=10THENH$="A HIGH CARD OF "+TC$ 11260 IFTW=2ANDPS<>10THENH2$="AND A HIGH CARD OF "+TC$ 11270 A$="PLAYER "+MID$(STR$(WN),2):IFWN=1THENA$=NA$ 11275 GOSUB1300:PRINTVT$(20);"[149]";:A$=A$+" WINS WITH":PRINTSPC((40-LEN(A$))/2);A$ 11280 PRINTSPC((40-LEN(H$))/2);H$:PRINTSPC((40-LEN(H2$))/2);H2$ 11285 IFWN=1THENPP=PP+PT 11290 IFPP=>5THEN11310 11295 PRINT:PRINT"[149]SORRY ";NA$;", THE MONEY YOU HAVE LEFT" 11300 PRINT"ISN'T WORTH PLAYING FOR!":GOTO11340 11310 POKE198,0:PRINTVT$(24);"ANOTHER HAND ";NA$;"? ES OR O  [146][157]"; 11320 GETX$:IFX$=""THEN11320 11330 IFX$="Y"ORX$=CHR$(13)THEN10000 11340 PRINT:PRINT"END OF GAME.":END 40000 DIMVT$(25),CD$(52),CD(52),PC(5,5),PS(5),CN(5),HC(5),PB(6),DR(5) 40010 DIMP1(5),P2(5),TC$(13),CO(6,5) 40100 A$="":FORC=1TO25:VT$(C)=LEFT$(A$,C):NEXT 40105 FORC=1TO39:SP$=SP$+" ":NEXT 40110 FORC=0TO3:FORD=1TO13:CD$=RIGHT$(STR$(D),2) 40120 IFD=1THENCD$=" A" 40125 IFD=11THENCD$=" J" 40130 IFD=12THENCD$=" Q" 40135 IFD=13THENCD$=" K" 40140 IFC=0THENSU$="[144][193]" 40145 IFC=1THENSU$="[211]" 40150 IFC=2THENSU$="[144][216]" 40155 IFC=3THENSU$="[218]" 40160 CD$(C*13+D)="[144]"+CD$+SU$:NEXT:NEXT 40200 DEFFNR(X)=INT(X*100+.5)/100 40210 DEFFNP(X)=INT(RND(1)*X)+1 40220 PP=100 48000 FORC=1TO13:READTC$(C):NEXT 49000 GOTO10000 50000 DATAACES,TWOS,THREES,FOURS,FIVES,SIXES,SEVENS,EIGHTS,NINES,TENS,JACKS 50010 DATAQUEENS,KINGS